//函数是一等对象，可以用来构造对象
//js 其实没有类


//当函数名大写，构造函数
// js 函数就可以构造一个类
function Cat(name){
    //给一组对象添加属性
    this.name=name;
    // this.makeSound=function(){
    //     console.log('mmmmm');
    // }
}

//js 函数对象有prototype 属性
//公有的方法放入prototype中
Cat.prototype.makeSound=function(){
    console.log('mmmmm');   
}
// Cat.sayHi=function(){
//     console.log('hhhh');
// }
//同一组对象 共同的类模板
var xm=new Cat('小黑');
xm.makeSound();
console.log(xm.name);
// xm.sayHi();
const xh=new Cat('小华')
console.log(xm==xh);
//判断两个对象是兄弟
console.log(xm.constructor==xh.constructor);
//判断对象是某类的实例
console.log(xm instanceof Cat);

//Object 是对象 又是 函数
let a={};//对象字面量的构造函数就是 Object
let obj=new Object();//对象字面量
console.log(obj);
console.log(obj instanceof Object);
console.log(typeof Object);
console.log(Cat.prototype);
